concurrent.futures

您所在的位置:网站首页 kafka callback 未执行 concurrent.futures

concurrent.futures

2023-09-15 21:32| 来源: 网络整理| 查看: 265

一个 Executor 子类使用最多由 max_workers 个进程组成的进程池异步执行调用。 如果 max_workers 是 None 或未给出,则默认为机器上的处理器数量。如果 max_workers 小于或等于 0 ,则会引发 ValueError 。在 Windows 系统中,max_workers 必须小于或等于 61 ,否则会引发 ValueError 。如果 max_workers 为 None ,则默认情况下最大为 61 ,即使有更多的处理器可用。mp_context 可以是多进程上下文,也可以是 None。它将用于启动工作者。如果 mp_context 为``None`` 或未给出,则使用默认的多进程上下文。

initializer 是一个可选的可调用对象,它会在每个工作进程启动时被调用;initargs 是传给 initializer 的参数元组。 如果 initializer 引发了异常,则所有当前在等待的任务以及任何向进程池提交更多任务的尝试都将引发 BrokenProcessPool。

max_tasks_per_child 是指定单个进程在其退出并替换为新工作进程之前可以执行的最大任务数量的可选参数。 在默认情况下 max_tasks_per_child 为 None 表示工作进程将存活与进程池一样长的时间。 当指定了最大数量时,则如果不存在 mp_context 形参则将默认使用 "spawn" 多进程启动方法。 此特性不能兼容 "fork" 启动方法。

在 3.3 版更改: 如果其中一个工作进程被突然终止,BrokenProcessPool 就会马上触发。 可预计的行为没有定义,但执行器上的操作或它的 future 对象会被冻结或死锁。

在 3.7 版更改: 添加 mp_context 参数允许用户控制由进程池创建给工作者进程的开始方法 。

加入 initializer 和*initargs* 参数。

在 3.11 版更改: 增加了 max_tasks_per_child 参数以允许用户控制进程池中工作进程的生命期。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3